package com.yida.gwj.report.mapper;

import com.yida.gwj.report.domain.dto.GwjFinanceMoneyDTO;
import com.yida.gwj.report.domain.dto.GwjFinanceMoneyMonthDTO;
import com.yida.gwj.report.domain.dto.GwjFinanceMoneyYearDTO;
import com.yida.gwj.report.domain.request.GwjFinanceMoneyQueryRequest;
import com.yida.gwj.report.domain.request.GwjReportFinanceMoneyQueryRequest;
import com.yida.gwj.report.domain.request.GwjSettleRateRequest;
import com.yida.gwj.report.domain.vo.GwjHouseDepositVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 缴存金额收入总帐明细Mapper接口
 *
 * @author lqq
 * @date 2022-12-28
 */
public interface GwjFinanceMoneyMapper {

	/**
	 * 查询缴存金额收入总帐明细列表
	 *
	 * @param request 缴存金额收入总帐明细
	 * @return 缴存金额收入总帐明细集合
	 */
	List<GwjFinanceMoneyDTO> selectFinanceMoneyDetailList(GwjFinanceMoneyQueryRequest request);

	/**
	 * 按年份、银行统计缴存金额
	 *
	 * @param request 缴存金额收入总帐明细
	 * @return 缴存金额收入总帐明细集合
	 */
	List<GwjFinanceMoneyYearDTO> statisticsByYear(GwjReportFinanceMoneyQueryRequest request);

	/**
	 * 按月份份、银行统计缴存金额
	 *
	 * @param request 缴存金额收入总帐明细
	 * @return 缴存金额收入总帐明细集合
	 */
	List<GwjFinanceMoneyMonthDTO> statisticsByMonth(GwjReportFinanceMoneyQueryRequest request);

	/**
	 * 房屋缴存信息
	 * @param params 查询参数
	 * @return
	 */
    List<GwjHouseDepositVO> selectHousesDeposit(@Param("params") GwjSettleRateRequest params);
}
